1. Field of the Invention
The present invention relates to a stand-by system based on a process module replication.
2. Description of the Related Art
In parallel/distributed systems, there is a stand-by system based on program modules replication as means to improve reliability of a computer system. This stand-by system is defined as follows. One of replicated program modules that is given an execution privilege, executes its operation. When the privileged program module fails, one of remaining other program modules in the replicated program modules takes over its operation by being given the execution privilege. Consequently the program module given the execution privilege continues executing its operation. In this situation, an active object is defined as a program module having an execution privilege and a passive object is defined as a program module not having an execution privilege. The active object usually executes its operation. When the active object fails, one of the passive objects is switched to be a new active object, and the new active object takes over the operation.
In such a stand-by system, because the passive object does not carry out its operation until the active object fails, low load processing and high resource utilization are achieved. However, the stand-by system must guarantee to maintain consistency of its internal state, e.g., its memory and register values, between the active object and the passive object.
Therefore, in conventional stand-by systems, it is known that either a programmer consciously writes checkpoints in a program in order to guarantee to maintain the consistency of the internal state between the active object and the passive object, or the stand-by system periodically copies the internal state from the active object to the passive object according to a predefined interval period.
However, in the former way, when a programmer consciously writes checkpoints in programs,--and then modifies the programs, the programmer must change the checkpoint position in consideration of the program structure. Therefore, the amount of work for the programmer increases. In the latter way, when checkpoints are defined at predefined intervals,--the programmer does not need to consciously define the checkpoints, the system may not be efficient, because the active object copies its internal state periodically even if there is no change in the internal state of the active object.